#!/bin/bash

# WFH CLI 配置迁移脚本
# 将 ~/.gemini/ 配置迁移到 ~/.wfh/

set -e

COLOR_GREEN='\033[0;32m'
COLOR_YELLOW='\033[1;33m'
COLOR_BLUE='\033[0;34m'
COLOR_RED='\033[0;31m'
COLOR_RESET='\033[0m'

echo -e "${COLOR_BLUE}========================================${COLOR_RESET}"
echo -e "${COLOR_BLUE}  WFH CLI 配置迁移工具${COLOR_RESET}"
echo -e "${COLOR_BLUE}========================================${COLOR_RESET}"
echo ""

OLD_DIR="$HOME/.gemini"
NEW_DIR="$HOME/.wfh"

# 检查旧配置目录是否存在
if [ ! -d "$OLD_DIR" ]; then
    echo -e "${COLOR_YELLOW}未找到旧配置目录 $OLD_DIR${COLOR_RESET}"
    echo -e "${COLOR_GREEN}无需迁移，你可以直接使用 'wfh' 命令${COLOR_RESET}"
    exit 0
fi

echo -e "${COLOR_GREEN}✓ 找到旧配置目录: $OLD_DIR${COLOR_RESET}"
echo ""

# 检查新配置目录是否已存在
if [ -d "$NEW_DIR" ]; then
    echo -e "${COLOR_YELLOW}⚠ 新配置目录 $NEW_DIR 已存在${COLOR_RESET}"
    echo ""
    read -p "是否覆盖现有配置？(y/N) " -n 1 -r
    echo ""
    if [[ ! $REPLY =~ ^[Yy]$ ]]; then
        echo -e "${COLOR_RED}✗ 迁移已取消${COLOR_RESET}"
        exit 1
    fi
    echo -e "${COLOR_YELLOW}备份现有配置到 ${NEW_DIR}.backup${COLOR_RESET}"
    mv "$NEW_DIR" "${NEW_DIR}.backup"
fi

# 执行迁移
echo -e "${COLOR_BLUE}开始迁移配置...${COLOR_RESET}"
echo ""

cp -r "$OLD_DIR" "$NEW_DIR"

echo -e "${COLOR_GREEN}✓ 配置文件已复制${COLOR_RESET}"

# 列出迁移的文件
echo ""
echo -e "${COLOR_BLUE}已迁移的文件:${COLOR_RESET}"
ls -lah "$NEW_DIR" | tail -n +2

echo ""
echo -e "${COLOR_GREEN}========================================${COLOR_RESET}"
echo -e "${COLOR_GREEN}  迁移完成！${COLOR_RESET}"
echo -e "${COLOR_GREEN}========================================${COLOR_RESET}"
echo ""

echo -e "${COLOR_BLUE}下一步:${COLOR_RESET}"
echo -e "  1. 验证配置: ${COLOR_YELLOW}cat ~/.wfh/settings.json${COLOR_RESET}"
echo -e "  2. 启动 CLI:  ${COLOR_YELLOW}wfh${COLOR_RESET}"
echo -e "  3. 测试工作流: ${COLOR_YELLOW}wfh workflow list${COLOR_RESET}"
echo ""

# 询问是否删除旧配置
echo -e "${COLOR_YELLOW}旧配置目录 $OLD_DIR 仍然存在${COLOR_RESET}"
read -p "是否删除旧配置？(y/N) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
    rm -rf "$OLD_DIR"
    echo -e "${COLOR_GREEN}✓ 旧配置已删除${COLOR_RESET}"
else
    echo -e "${COLOR_BLUE}ℹ 旧配置已保留在 $OLD_DIR${COLOR_RESET}"
    echo -e "${COLOR_BLUE}  如需删除，运行: rm -rf $OLD_DIR${COLOR_RESET}"
fi

echo ""
echo -e "${COLOR_GREEN}🎉 完成！现在可以使用 'wfh' 命令了${COLOR_RESET}"

